$(document).ready(function(){
   $('.field-submit input').addClass('opacity');
   $(document).ajaxComplete(function(){
      $('.field-submit input,.field-submit a').addClass('opacity');
   });
   $('.field-submit').live('mouseover', function(){
      $('.field-submit input,.field-submit a').removeClass('opacity');
   }).live('mouseleave', function(){
      $('.field-submit input,.field-submit a').addClass('opacity');
   });
   $('label.error').live('click', function(e){
      e.preventDefault();
      $(this).remove();
   });
   $('.clear_logs').live('click', function(e){
      e.preventDefault();
      $('#logs').hide();
      $('#logs #table').html('');
   });
   if(nav_selected != '')
   {
      $('#nav #nav-'+nav_selected).show();
   }
   $('#nav a[href="#"]').click(function(e){
      var ul_child = $(this).parent('li').children('ul');
      e.preventDefault();
      $('#nav ul ul').hide();
      ul_child.toggle();
   });
   
   /* Add and remove button */
   $('a.add').live('click',function(e){
      var _clone;
      e.preventDefault();
      if($(this).parent().parent().attr('id') == 'content_selector_parent'){
         if($(this).parent().parent().children('.clone').size() == 3) {
            return;
         }
      }
      $(this).parent().children('.remove').show();
      _clone = $(this).parent().clone().appendTo($(this).parent().parent());
      _clone.children('input').val('');
      _clone.children('input:eq(0)').focus();
      if($(this).parent().index() === 1) {
         $(this).parent().children('.remove').hide();
      }
   });
   
   /* Hide first remove button */
   $('a.remove').each(function(k){
      if($(this).parent().index() === 1) {
         $(this).hide();
      }
   });
   
   $('a.remove').live('click',function(e){
      e.preventDefault();
      if($(this).parent().index() === 1) { return; }
      $(this).parent().remove();
   });
   
   $('input[data-slug]').live('change', function(e){
      e.preventDefault();
      var current_value = $(this).val();
      $(this).val(create_slug($(this).val(), $(this).attr('data-slug-separator'), $(this).attr('data-slug-case')));
   });
});

(function($){
   $.fn.center = function() {
      this.css("position","absolute");
      this.css("top", (($(window).height() - this.outerHeight()) / 2) + $(window).scrollTop() + "px");
      this.css("left", (($(window).width() - this.outerWidth()) / 2) + $(window).scrollLeft() + "px");
      return this;
   }
})(jQuery);

function ucwords(str) {
   return (str + '').replace(/^([a-z])|\s+([a-z])/g, function ($first_str) {
     return $first_str.toUpperCase();
   });
}

function strtolower(str) {
   return (str+'').toLowerCase();
}

function saving(str) {
   $('html,a,div,input,button').addClass('wait');
   $('#loader').html('<span>'+str+'</span>').show();
   $('#loader').center();
   $('input, select, textarea').attr('disabled', 'disabled');
}

function saved(str) {
   $('html,a,div,input,button').removeClass('wait');
   $('input, select, textarea').removeAttr('disabled');
   $('#loader').center();
   $('#loader').html('<span>'+str+'</span>').show();
   $('#loader').fadeOut(1000);
}

function insert_log(data, status) {
   $('#logs #table').append('<tr class="childtable"><td style="width:85%">'+data+'</td><td>'+status+'</tr></td>');
   $("#logs-child").scrollTop($('#logs-child').offset().top);
}

function ajaxpost(_controller, _data, _alert, _callback){
   saving(_alert);
   $.ajax({
      url: base_url+'ajax/'+_controller,
      type: 'POST',
      data: _data,
      dataType: 'json',
      success: function(the) {
         _callback;
      }
   });
}

function translate_hide(){
   _hide('#mode', '#translate_from_to');
}

function ip_hide(){
   _hide('#proxy', '#ip_address', "#ip, #ip_port, #ip_login");
}

function api_method_hide(){
   if($('#api_method option:selected').val() == 0){
      $('#api_title_selector').hide();
   } else if($('#api_method option:selected').val() == 1){
      $('#api_title_selector').fadeIn('fast');
   }
   
   $('#api_method').change(function(){
      if($('#api_method option:selected').val() == 0){
         $('#api_title_selector').hide();
      } else if($('#api_method option:selected').val() == 1){
         $('#api_title_selector').fadeIn('fast');
      }
   });
}

function _hide(id, hide_id, optional)
{
   if($(id+' option:selected').val() == 1){
      $(hide_id).fadeIn('fast');
   } else if($(id+' option:selected').val() == 0){
      $(hide_id).hide();
   }
   
   $(id).change(function(){
      if($(id+' option:selected').val() == 1){
         $(hide_id).fadeIn('fast');
      } else {
         $(hide_id).hide();
         if(optional != '') {
            $(optional).val('')
         }
      }
   });
}

function create_slug(str, separator, permalink_case) {
	separator = typeof separator !== 'undefined' ? separator : '-';
	permalink_case = typeof permalink_case !== 'undefined' ? permalink_case : 'titlecase';
	
	switch(permalink_case)
	{
		case 'lowercase':
			current_str = str.toLowerCase();
		break;
		case 'uppercase':
			current_str = str.toUpperCase();
		break;
		default:
			current_str = (str.toLowerCase() + '').replace(/^([a-z])|\s+([a-z])/g, function ($1) {
				return $1.toUpperCase();
			});
		break;
	}
	
	
	return current_str.replace(/[\s]+/g, separator);
}